package com.aipartner.service;

import com.aipartner.dto.UploadExampleRequest;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.web.multipart.MultipartFile;

/**
 * 用户上传服务接口
 */
public interface UserUploadService {
    
    /**
     * 上传示例图片（通过文件）
     * @param file 图片文件
     * @param request 上传请求
     * @return 上传记录ID
     */
    Long uploadExample(MultipartFile file, UploadExampleRequest request);
    
    /**
     * 上传示例图片（通过URL）
     * @param request 上传请求（包含图片URL）
     * @return 上传记录ID
     */
    Long uploadExampleByUrl(UploadExampleRequest request);
    
    /**
     * 获取用户上传记录
     * @param userId 用户ID
     * @param current 当前页
     * @param size 页大小
     * @return 分页结果
     */
    Page<?> getUserUploadRecords(Long userId, Integer current, Integer size);
    
    /**
     * 删除上传记录
     * @param recordId 记录ID
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean deleteUploadRecord(Long recordId, Long userId);
    
    /**
     * 切换点赞状态
     * @param exampleId 示例图片ID
     * @param userId 用户ID
     * @return 是否点赞（true=点赞，false=取消点赞）
     */
    boolean toggleLike(Long exampleId, Long userId);
}
